package com.crcode.crm.service.system;

import com.crcode.crm.bean.system.NoticeBean;
import com.crcode.crm.service.CommonService;
import com.crcode.crm.utils.PageVo;
import com.crcode.crm.utils.ResultPageUtil;

import java.util.List;
/**
 * 公告业务层 接口
 * @author xiangfei
 * @date 2019年3月25日 下午1:56:43
 * @version V1.0
 */
public interface NoticeService extends CommonService<NoticeBean, Integer> {

    /**
     * 根据id查找多个公告
     * @param ids ids
     * @return List<NoticeBean>
     */
    List<NoticeBean> findByIdIn(List<Integer> ids);

    /**
     * 搜索公告标题
     * @param search 搜索内容
     * @return List<NoticeBean>
     */
    ResultPageUtil findByNoticeTitleContaining(String search, PageVo vo);

    /**
     * 删除多个公告
     * @param ids ids
     * @return boolean
     */
    boolean deleteByIdIn(List<Integer> ids);

    /**
     * 根据用户id删除公告
     * @param uuids 用户的id
     * @return boolean
     */
    boolean deleteByUserUuidIn(List<String> uuids);

    /**
     * 根据用户查找公告
     * @param uuids uuids
     * @return List<NoticeBean>
     */
    List<NoticeBean> findByUserUuidIn(List<String> uuids);

    /**
     * 获取全部实体的分页
     * @return ResultPageUtil
     */
    ResultPageUtil findAll(NoticeBean u, PageVo vo);
}
